Method and apparatus for providng stream linking in audio/video disk media

ABSTRACT

A method and apparatus for providing stream linking in audio/video disk media is disclosed. The present invention sets-up an audio/video stream on a disk drive, uses read and write commands for accessing contiguous data and, given an established stream, establishes a linked stream by sending a linked stream request with the number of a primary stream to the drive. The new stream inherits the beginning and ending addresses of the primary stream. Passed pointer detection is enabled for linked stream pointers passing primary stream pointers

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates in general to a method and apparatus forprocessing audio/video information, and more particularly to a methodand apparatus for providing stream linking in audio/video disk media.

2. Description of Related Art

Advancements in communications technology and increased consumersophistication have challenged the distributors of multimediaprogramming to provide the subscribing public with entertainmentservices more convenient and accessible than those traditionally madeavailable over cable television and telephone systems. An improvingcommunications infrastructure has resulted in a proliferation ofpay-per-view media services in many of the larger broadcast markets.Most pay-per-view systems permit the consumer to choose from arelatively small number of motion picture selections for home viewing,with the selected programs generally being presented only atpre-scheduled viewing times.

In recent years, the media industry has expanded its horizons beyondtraditional analog technologies. Audio, photographs, and even featurefilms are now being recorded or converted into digital formats. Toencourage compatibility between products, standard formats have beendeveloped in many of the media categories.

As would be expected, the viewers of digital video desire the samefunctionality from the providers of digital video as they now enjoywhile watching analog video tapes on video cassette recorders. Forexample, viewers want to be able to make the video jump ahead, jumpback, fast forward, fast rewind, slow forward, slow rewind and freezeframe.

Various approaches have been developed to provide non-sequentialplayback of digital video data. With respect to digital video data,non-sequential playback refers to any playback operation that does notplay all of the encoded frames in the exact order in the sequence inwhich they were encoded. For example, jump ahead and fast forwardoperations are non-sequential in that some frames are skipped. Rewindoperations at any speed are non-sequential in that during a rewindoperation, frames are not played in the sequence in which they areencoded.

Data used for Audio/Video (AV) applications is typically stored incontiguous areas on disk drives and accessed sequentially. Computersystems access disk drives by logical block number. For digitalAudio/Video applications it is useful to refer to the data structure fordisk drives as a stream. A stream is a range of addresses on the diskmedia in which a contiguous area of Audio/Video data is stored. AVapplications stream data on and off disk drives by writing contiguousblocks, which are typically linear streams of data.

The ATA (Advanced Technology Attachment) Interface is the dominantstorage interface for personal computers. ATA was originally defined asa standard for embedded fixed disk storage on IBM AT™ compatiblepersonal computers. AT™ stands for “Advanced Technology”, which refersprimarily to it's then “revolutionary” 16-bit bus. In recent years ATA-3and ATA-4 have enhanced the functionality of the ATA interface toincrease performance and interface a wider range of personal computerstorage devices.

The ATA command set is designed for random access to blocks of data. Thedesign of Audio/Video products which use ATA hard disk drives would besimplified by providing a stream oriented AV command system. In a systemfor addressing Audio/Video (AV) data using contiguous areas calledstreams, it may be useful to quickly set up additional reading orwriting locations in streams that have been previously established. Aneasy way to do this is to have a linked stream capability.

It can be seen then that there is a need for a method and apparatus thatprovides stream linking in audio/video disk media.

SUMMARY OF THE INVENTION

To overcome the limitations in the prior art described above, and toovercome other limitations that will become apparent upon reading andunderstanding the present specification, the present invention disclosesa method and apparatus for providing stream linking in audio/video diskmedia.

The present invention solves the above-described problems by setting-upan audio/video stream on a disk drive, using read and write commands foraccessing contiguous data and, given an established stream, a linkedstream is established by sending a linked stream request with the numberof a primary stream to the drive. The new stream inherits the beginningand ending addresses of the primary stream. Passed pointer detection isenabled for linked stream pointers passing primary stream pointers.

A method in accordance with the principles of the present inventionincludes when additional reading or writing locations in streams aredesired, sending a linked stream request with a number of a primarystream, initiating a linked stream that is linked to the primary stream,setting a pointer for the linked stream to the same location as apointer for the primary stream and during operation, processing thepointers for both the linked stream and the primary stream.

Other embodiments of a method in accordance with the principles of theinvention may include alternative or optional additional aspects. Onesuch aspect of the present invention is that the setting of a pointerfor the linked stream to the same location as a pointer for the primarystream further comprises setting a read audio/video pointer for thelinked stream to the same location as the read audio/video pointer ofthe primary stream.

Another aspect of the present invention is that the linked streaminherits a beginning and ending address from the primary stream.

Another aspect of the present invention is that the linked stream andthe primary stream each include a read audio/video pointer and a writeaudio/video pointer.

Another aspect of the present invention is that a passed pointer warningis set when the linked stream read AV pointer passes the primary streamwrite AV pointer.

Another aspect of the present invention is that a stream may not belinked to a linked stream.

Another aspect of the present invention is that the linked stream isdisabled when the primary stream is disabled.

Another aspect of the present invention is that the linked stream andthe primary stream may be read and written to simultaneously.

Another aspect of the present invention is that the linked stream andthe primary stream each include a read audio/video pointer and a writeaudio/video pointer.

Another aspect of the present invention is that the read audio/videopointer points to the next sector to read from and the write audio/videopointer points to the next sector to write to.

Another aspect of the present invention is that the method furtherincludes moving the pointers with a command.

In another embodiment of the present invention, a remote multimediaserver is provided. The remote multimedia server includes a mass storagelibrary for storing a plurality of multimedia programs each segmentedinto at least one audio/video stream, transmission means fortransmitting the at least one audio/video stream to a communicationchannel and a local media control system, including a direct accessstorage device including at least one data storage disk and a controllerfor processing the coordinating writing of the at least one audio/videostream received from the communication channel to the data storage disk,and for coordinating reading of the at least one audio/video stream fromthe data storage disk, the controller providing stream linking inaudio/video disk media by sending a linked stream request with a numberof a primary stream when additional reading or writing locations instreams are desired, initiating a linked stream that is linked to theprimary stream, setting a pointer for the linked stream to the samelocation as a pointer for the primary stream, and, during operation,processing the pointers for both the linked stream and the primarystream.

In another embodiment of the present invention, a direct access storagedevice is provided. The direct access storage device includes at leastone data storage disk and a controller for processing the coordinatingwriting of the at least one audio/video stream received from thecommunication channel to the data storage disk, and for coordinatingreading of the at least one audio/video stream from the data storagedisk, the controller further providing stream linking in audio/videodisk media by sending a linked stream request with a number of a primarystream when additional reading or writing locations in streams aredesired, initiating a linked stream that is linked to the primarystream, setting a pointer for the linked stream to the same location asa pointer for the primary stream, and, during operation, processing thepointers for both the linked stream and the primary stream.

In another embodiment of the present invention, an article ofmanufacture is provided. The article of manufacture includes a programstorage medium readable by a computer, the medium tangibly embodying oneor more programs of instructions executable by the computer to perform amethod for providing stream linking in audio/video disk media, themethod includes when additional reading or writing locations in streamsare desired, sending a linked stream request with a number of a primarystream, initiating a linked stream that is linked to the primary stream,setting a pointer for the linked stream to the same location as apointer for the primary stream and during operation, processing thepointers for both the linked stream and the primary stream.

These and various other advantages and features of novelty whichcharacterize the invention are pointed out with particularity in theclaims annexed hereto and form a part hereof. However, for a betterunderstanding of the invention, its advantages, and the objects obtainedby its use, reference should be made to the drawings which form afurther part hereof, and to accompanying descriptive matter, in whichthere are illustrated and described specific examples of an apparatus inaccordance with the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 illustrates a system block diagram of a novel intelligent set-topcontrol system adapted for communicating with a remote multimediaserver;

FIG. 2 is a plan view of a disk drive;

FIG. 3 illustrates an AV stream according to the present invention;

FIG. 4 illustrates relative addressing for the read and write AV streamcommands according to the present invention;

FIG. 5 illustrates a table of the AV stream set feature functions;

FIG. 6 illustrates the disable AV stream mode subcommand;

FIG. 7 illustrates the enable read continuous mode subcommand;

FIG. 8 illustrates the enable Time-based Read Error Recovery ProcedureLimitation subcommand having code 0Dh;

FIG. 9 illustrates the enable Time-based Write Error Recovery ProcedureLimitation subcommand having code 0Eh;

FIG. 10 illustrates the registers and the field DEV for indicating theselected device;

FIG. 11 illustrates the error outputs for the AV stream addresses;

FIG. 12 illustrates a table for the data format used for setting the AVstream addresses according to the present invention;

FIG. 13 illustrates the inputs for disabling the AV stream;

FIG. 14 illustrates the error outputs when disabling the AV stream;

FIG. 15 illustrates the inputs for reading the AV stream addresses;

FIG. 16 illustrates the normal outputs when reading the AV streamaddresses;

FIG. 17 illustrates the error outputs when reading the AV streamaddresses;

FIG. 18 illustrates the inputs for setting/reading AV pointers;

FIG. 19 is a table illustrating the read/write AV write pointer or AVread pointer;

FIG. 20 illustrates the normal outputs when setting/reading AV pointers;

FIG. 21 illustrates the error outputs when setting/reading AV pointers;

FIG. 22 illustrates the read DMA AV stream command;

FIG. 23 illustrates the normal outputs when readying DMA AV streamcommands;

FIG. 24 illustrates the error outputs when readying DMA AV streamcommands;

FIG. 25 illustrates the write DMA AV stream command;

FIG. 26 illustrates the normal outputs for the write DMA AV streamcommand;

FIG. 27 illustrates the error outputs for the write DMA AV streamcommand; and

FIG. 28 illustrates a flow chart of a method for providing streamlinking in audio/video disk media.

DETAILED DESCRIPTION OF THE INVENTION

In the following description of the exemplary embodiment, reference ismade to the accompanying drawings which form a part hereof, and in whichis shown by way of illustration the specific embodiment in which theinvention may be practiced. It is to be understood that otherembodiments may be utilized as structural changes may be made withoutdeparting from the scope of the present invention.

The present invention provides a method and apparatus for providingstream linking in audio/video disk media. The present invention sets-upan audio/video stream on a disk drive, uses read and write commands foraccessing contiguous data and, given an established stream, establishesa linked stream by sending a linked stream request with the number of aprimary stream to the drive. The new stream inherits the beginning andending addresses of the primary stream. Passed pointer detection isenabled for linked stream pointers passing primary stream pointers

Referring now to FIG. 1, there is illustrated a system block diagram 100of a novel intelligent set-top control system 162 adapted forcommunicating with a remote multimedia server 130 preferably of the typedescribed hereinabove. In accordance with one embodiment, a relativelylow-cost set-top control system 162 configuration includes a moderateamount of local memory for receiving an audio/video stream transmittedfrom the multimedia server 130 over a communication channel 144. Theset-top control system 162 may include a set-top controller 164 thatcommunicates with an input buffer 166, output buffer 172, and a decoder174 to coordinate decoding of the received audio/video stream forpresentation on a local monitor or television 176.

The set-top control system 162 includes a novel multimedia direct accessstorage device (DASD) 168 adapted to buffer audio/video streamsrepresentative of a portion or all of a multimedia program received froma communication channel 144. An important feature afforded a subscribingcustomer when employing a set-top control system 162 in accordance withthis embodiment concerns the capability to effectuate full localVCR-type control over the presentation of a portion of a selectedmultimedia program on a real-time basis. Full VCR-type control over thepresentation of the entire multimedia program may also be realizableprovided a sufficient amount of DASD 168 storage capacity is allocatedfor this purpose. The amount of available DASD 168 storage capacitygenerally impacts the degree to which a subscribing customer caneffectuate VCR-type control over the presentation of a selectedmultimedia program.

With further reference to FIG. 1, the set-top controller 164 of theset-top control system 162 preferably communicates with a remotemultimedia server 130 over a communication channel 144, and coordinatesthe operation of the set-top control system 162. Media-on-demand data isgenerally transmitted from the multimedia server 130 to the set-topcontrol system 162 over the communication channel 144 at a very highburst data rate. The set-top controller 164 preferably communicates withother components of the set-top control system 162 to coordinate thereception, storage, and decoding of audio/video streams received fromthe multimedia server 130, and the presentation of the decodedaudio/video stream on a subscribing customer's television 176. Theset-top controller 164 preferably communicates control signals to themultimedia server 130 over a server control line or channel 178 of thecommunication channel 144 to initiate transmission of, for example, apay-per-view multimedia program. During the presentation of a multimediaprogram, for example, the viewer may temporarily stop, reverse, or fastforward the presentation of a program by communicating a pause commandto the set-top control system 162, typically by use of an IR remotecontrol handset 125.

FIG. 2 is a plan view of a disk drive 200. Disk drive 200 includes adisk pack 212, which is mounted on a spindle motor (not shown) by a diskclamp 214. Disk pack 212, in one preferred embodiment, includes aplurality of individual disks which are mounted for co-rotation about acentral axis 215. Each disk surface on which data is stored has anassociated head gimbal assembly (HGA) 216 which is mounted to at leastone actuator assembly 218 in disk drive 200. An actuator assembly asshown in FIG. 2 is of the type known as a rotary moving coil actuatorand includes a voice coil motor (VCM) shown generally at 220. A voicecoil motor 220 rotates an actuator assembly 218 with its attached HGAs216 about a pivot axis 221 to position HGAs 216 over desired data trackson the associated disk surfaces, under the control of electroniccircuitry housed within disk drive 200.

More specifically, an actuator assembly 218 pivots about axis 221 torotate head gimbal assemblies 216 generally along an arc 219 whichcauses each head gimbal assembly 216 to be positioned over a desired oneof the tracks on the surfaces of disks in disk pack 212. HGAs 216 can bemoved from tracks lying on the innermost radius, to tracks lying on theoutermost radius of the disks. Each head gimbal assembly 216 has agimbal which resiliently supports a slider relative to a load beam sothat the slider can follow the topography of the disk. The slider, inturn, includes a transducer which is utilized for encoding fluxreversals on, and reading flux reversals from, the surface of the diskover which it is flying.

As described above, digital audio and video data are typically linearstreams of data. The ATA command set, (AT Attachment), a disk driveimplementation that integrates the controller on the disk drive itself,is designed for random access to blocks of data. The design ofaudio/video products which use ATA hard disk drives would be simplifiedby providing a stream oriented AV command system. This requires commandsfor establishing, controlling, reading, and writing multiple AV streamson ATA devices. In addition to stream management, controls for errorrecovery procedure time and cache management would be needed. Moreover,an AV Stream Feature set for ATA interface Hard Disk Drives shouldinclude:

-   -   1. A stream oriented Read/Write commands        -   AV Data is frequently accessed linearly with forward and            backward searching. The AV data access pattern should be            reflected in the commands used to access AV data.    -   2. Independent Stream LBA support        -   AV devices require multiple simultaneous reading and writing            streams.    -   3. Limited time for retries for read/write errors        -   Error Recovery Procedure time must be limited to prevent            buffer under-run. The time limit for ERP must be flexible as            different applications use different data rates and buffer            sizes.    -   4. Suppression ECC errors during read (Read Continuous)        -   Some AV applications prefer continuous data transfer to time            consuming ERP.    -   5. Error Reporting for the Read Continuous operation        -   Even though uncorrected ECC error data is transferred            without ERP in Read Continuous the host may need to know if            uncorrected ECC data was passed.    -   6. Error Reporting for Cached Write operations with Time-Limited        ERP. When write ERP is time limited the probability that a        cached write will not be successfully completed. It is important        to have a mechanism to report cached write failures so the host        system know some data previously written has been lost.    -   7. AV (Single) Write Cache (Cache Depth of one.)        -   A mode restricting the write cache to one command at a time            simplifies the problem of reporting cached write failures.    -   8. A transfer size of greater than 256 sectors        -   The Big LBA proposal covers this need.    -   9. Variable Write Cache Segment Size and Multiple Segment        -   Read Cache Configuration for Multiple Streams The number and            type of AV streams should control cache management.

The commands defined in the current ATA standard are designed to handledata for computers which are used in Information Technology (IT)oriented applications. Data integrity is the most important factor in ITapplications. For Audio/Video (AV) data, on the other hand, the datarate is also an important factor. The data integrity of AV data may besacrificed to some extent to maintain the required data rate. FIG. 3illustrates an AV stream 300 according to the present invention. AVapplications use series of data in time per source: an AV Stream. Aninterface that allows easy stream access is needed for AV applications.Based on AV Stream data characteristics, two stream-oriented data accesscommands are provided for users of AV applications, Read DMA AV Streamand Write DMA AV Stream.

The Set AV Stream Addresses command sets up an AV Stream for reading andwriting. The starting 310 and ending 312 LBAs are passed in a singlesector of data. Each stream has two pointers, a Read AV Pointer and aWrite AV Pointer 300. The pointers point to the next sector to be reador written, respectively.

The Read Pointer 320 and Write Pointer 330 are initialized to point toStream LBA 0 340. In FIG. 3, the pointers have been moved using theSet/Read AV Pointers Command or the Read or Write DMA AV StreamCommands. Thus, up to 256 simultaneous overlapping streams may bedefined. If during a read or write operation a pointer is moved forwardor backward past the other pointer, the Passed Pointer Warning bit isset in a Status Register. This feature is used when playing andrecording simultaneously. Reversing or Fast Forwarding the play stream'sRead AV Pointer 320 past the Write AV Pointer 330 would result in asudden time jump. All streams are disabled on hard reset, power onreset, or Set Features Disable AV Stream Mode.

FIG. 4 illustrates relative addressing 400 for the read and write AVstream commands according to the present invention. The location of thenext read is based on the location of the last read or write. ThePointers point to the next LBA after the last operation. To docontinuous reads or writes the host need only specify the length and arelative address of 0. The Wrap bit, set during the Set AV StreamAddresses command, determines if the write or read pointer wrap aroundthe at the ends of the stream data area. In FIG. 4, a portion is set toa starting point position 410, i.e. at LBA 1000. After a seek-200 420,the pointer would point to LBA 800. A read 200 430 would set the pointerat LBA 1000 with a count relative-200 432. If instead of seek 200,another read 200 was performed, the pointer would be LBA 1200 andpointer set at count relative 0 440.

Multiple streams may be assigned to the same drive LBA range. Tofacilitate multiple play operation while recording in a single LBA rangestreams may be linked. A linked stream is initialized to the primarystreams LBA range and read pointer positions. Linked streams do not havea Write AV pointer, Write DMA AV Stream commands to a linked stream areaborted. The Passed Pointer Warning is set when the Linked streamspointers pass the associated pointer in the primary stream. For example,if stream 1 is initiated with drive LBA range 2000 to 2999, stream 2 isinitiated as a stream linked to stream 1. Stream 2 is initialized to LBArange 2000 to 2999. The Stream 2 Read AV Pointer is set to the samelocations as the Stream 1 Read AV pointer. If the Stream 2 Read AVPointer passes the Stream 1 Write AV Pointer a Passed Pointer Warning isset. Further, a stream may not be linked to a linked stream. When alinked stream's primary stream is disabled all subsidiary linked streamsare disabled.

FIG. 5 illustrates a table 500 of the AV stream set feature functions.Prior to AV Stream operations the host enables the AV Stream featureswith Set Features Command Functions. The table 500 includes the registervalues for each feature 510 and a description for each feature 520. Eachfeature 520 will be described herein below. The first functionillustrated is the enable AV stream mode 530.

FIG. 6 illustrates the enable AV stream mode subcommand 600. The 8Bhsubcommand then disables the AV Stream mode in devices that implement AVfeature set (see 540 in FIG. 5). Subcommand code 0Bh 610 allows the hostto enable Read Continuous mode in devices that implement Read Continuousfunction. In Read Continuous mode uncorrected ECC errors are passed tothe host. Uncorrected ECC errors are reported at the end of the commandif the ER bit is set to 1. Non ECC error recovery behavior is controlledby the Enable Time-base Read Error Recovery Procedure Limitation feature(discussed below). Read Continuous takes precedence over the Time-baseRead Error Recovery Procedure Limitation. When Read Continuous isenabled uncorrected read data is transferred without invoking ERP.

FIG. 7 illustrates the enable read continuous mode subcommand 700.Subcommand code 0Ch 710 allows the host to enable Read Continuous mode.Subcommand code 0Ch allows the host to disable Read Continuous mode indevices that implement Read Continuous function (see 542 in FIG. 5). ER720, bit 0, shall be set to one to report uncorrected ECC errors at theend of command. Subcommand code 0Ch 710 allows the host to enableTime-base Error Recovery Procedure Limitation for read operations. Themaximum time in milliseconds allocated for Error Recovery Procedures percommand is transferred in the Sector Count register.

FIG. 8 illustrates the enable Time-based Read Error Recovery ProcedureLimitation subcommand 800 having code 0Dh 810. The cylinder low field820 sets the least significant byte of the maximum time allowed forError Recovery Procedures 822, in milliseconds per command. The cylinderhigh field 830 sets the most significant byte of the maximum timeallowed for Error Recovery Procedures 832, in milliseconds per command.Subcommand code 8Dh allows the host to disable Time-base Error RecoveryProcedure Limitation for read operations (see 544 in FIG. 5).

FIG. 9 illustrates the enable Time-based Write Error Recovery ProcedureLimitation subcommand 900 having code 0Eh 910. Subcommand code 0Eh 910allows the host to enable Time-base Error Recovery Procedure Limitationfor write operations. The maximum time in milliseconds allocated forError Recovery Procedures per command is transferred in the Sector Countregister 912. Setting sector number 914 bit 0, ER 916, to one returnsthe deferred error information from previous cached write commandsduring Time-base Write ERP Limitation at the end of write command. Thecylinder low register 920 is used to set the least significant byte ofthe maximum time allowed for Error Recovery Procedures 922, inmilliseconds per command. The cylinder high register 930 is used to setthe most significant byte of the maximum time allowed for Error RecoveryProcedures 932, in milliseconds per command. Subcommand code 8Eh allowsthe host to disable Time-base Error Recovery Procedure Limitation forwrite operations (see 546 in FIG. 5).

Referring to FIG. 5, subcommand code 0Fh 550 and 8Fh 548 allow the hostto enable or disable AV Write Cache in devices that implement AV WriteCache function. AV write caching enables deferred error reporting. Thedata from only one write command is cached at a time. This allowsdeferred write error reporting. When cached write data is notsuccessfully written to the media, the error is reported at the end ofthe next write command as a deferred error (See Write DMA AV Streamcommand).

The AV Stream Identify data allows a host to determine if the AV StreamFeature Set is supported. AV Stream configuration data is availableafter the AV Stream Feature Set is enabled.

Bit 7 of word 83 indicates AV Stream feature set is supported and bit 7of word 86 indicates AV Stream mode is enabled.

-   -   Bit 1 of word 94 indicates Time-base Read ERP Limitation is        supported and bit 9 of word 94 indicates Time-base Read ERP        Limitation is enabled.    -   Bit 2 of word 94 indicates Time-base Write ERP Limitation is        supported and bit 10 of word 94 indicates Time-base Write ERP        Limitation is enabled.    -   Bit 3 of word 94 indicates AV Write Cache is supported and bit        10 of word 94 indicates AV Write Cache is enabled.    -   Word 95 indicates the maximum number of AV Streams the device        supports.    -   Word 96 indicates the number of AV Streams currently configured.    -   Word 97 indicates the maximum number of linked streams per        primary stream.

The host shall set AV Stream Addresses for each AV Stream prior to use.The device/head register includes the field DEV which indicates theselected device. FIG. 10 illustrates the inputs 1000 for setting AVstream addresses including registers 1010 and the field DEV 1020 forindicating the selected device.

FIG. 11 illustrates the error outputs 1100 for the AV stream addresses.In FIG. 11, ABRT is set to one if AV Stream mode is disabled or the LBAvalues specified in the AV Stream Addresses Data (Table 1) are invalid,or if the stream number is in use.

FIG. 12 illustrates a table 1200 for the data format used for settingthe AV stream addresses according to the present invention. The StreamNumber 1210 indicates the stream initialized by this command. Duringsimultaneous write and read from the same area on the disk severalstreams may interact. The link field 1244 indicates that the streambeing initialized is a subsidiary stream of stream Link Stream Number1230. The Write AV Stream Pointer and Read AV Stream Pointer areinherited from the Link Stream. The starting 1240 and ending 1242 LBAfields are ignored when Lnk 1244 is set to one. The field Lnk 1244 isset to indicated the new stream is a subsidiary stream linked to thestream Link Stream Number. The Starting LBA 1240 and Ending 1242 LBA areset to the Starting LBA and Ending LBA of stream Link Stream Number 1230and the values passed are ignored. When Wp 1250 (Wrap) is set to one,the Read AV Pointer and AV Write AV Pointers wrap around.

Command code F9h disables an AV stream enabled with Set AV StreamAddresses. All streams linked to the specified stream are also disabled.FIG. 13 illustrates the inputs for disabling the AV stream 1300. FIG. 14illustrates the error outputs 1400 when disabling the AV streams. ABRT1410 is set to one if the AV Stream mode is disabled or the streamspecified in the AV Stream number is not enabled.

FIG. 15 illustrates the inputs 1500 for reading the AV stream addresses.Command code FCh 1510 allows the host to retrieve the address range ofan AV stream when the AV Stream mode is enabled. The AV Stream Number1520 indicates which AV Stream addresses are returned. This is validonly when AV Stream mode is enabled. FIG. 16 illustrates the normaloutputs 1600 and FIG. 17 illustrates the error outputs 1700. Again ABRT1710 is be set to one if AV Stream mode is disabled or if AV StreamNumber is not valid. The LBA Addresses for the AV Stream indicated inthe features register is returned in the format described in the tableillustrated in FIG. 12.

FIG. 18 illustrates the inputs 1800 for setting/reading AV pointers. TheAV Stream Number 1820 indicates which AV Stream is handled with commandcode C3h 1822. This is valid only when the AV Stream mode is enabled.The sector count 1824 contains the coded value for the action required.FIG. 19 is a table 1900 illustrating the AV write pointer 1908 or AVread pointer 1910. The value in the sector count 1920 indicates theaction to be taken.

FIG. 20 illustrates the normal outputs 2000 for the set/read AV pointersand FIG. 21 illustrates the error outputs 2100 for the set/read AVpointers. ABRT is set to one if AV Stream mode is disabled or if AVStream Number is not valid.

FIG. 22 illustrates the read DMA AV stream command 2200. Command Ceh2210 allows the host to read AV Stream data without setting the startLBA using the DMA data transfer protocol. The device reads data from thenext LBA of the end LBA of the previous Read AV Stream command which hasthe same AV Stream Number 2220 specified in Feature register. The deviceshall wrap around to the first LBA after reading the last LBA of the AVStream when the host reads the AV Stream data with this command from astream which was initialized with Wrap set to one. The AV Stream Number2220 indicates which AV Stream is handled with this command. This isvalid only when AV Stream mode is enabled. The LBA 2230, bit 6, is setto one. The Relative Address 2240 is the number of logical blocks tomove the Read AV Pointer prior to reading. The Relative Address is atwo's complement positive or negative number. FIG. 23 illustrates thenormal outputs 2300 for the read DMA AV stream. The PP bit 2310, passed,pointer, is set to one if the offset and count for the command result inthe Read AV Pointer passing the Write AV Pointer. The Stream LBA addressof the Write AV Pointer is returned on a PP status. FIG. 24 illustratesthe error outputs.

FIG. 25 illustrates the write DMA AV stream command. Command CFh 2510allows the host to write AV Stream data without setting the start LBAusing the DMA data transfer protocol. The device writes data from thenext LBA of the end LBA of the previous Write AV Stream command whichhas the same AV Stream Number. 2520 specified in Feature register. Thedevice shall wrap around to the first LBA after writing the last LBA ofthe AV Stream when the host writes the AV Stream data with this commandto a stream which was initialized with Wrap set to one. The AV StreamNumber indicates which AV Stream is accessed with this command. This isvalid only when AV Stream mode is enabled. The LBA 2530, bit 6, shall beset to one. The Relative Address 2540 is the number of logical blocks tomove the Write AV Pointer prior to reading. The Relative Address is atwo's complement positive or negative number. FIG. 26 illustrates thenormal outputs 2600 for the write DMA AV stream command. The PP bit2610, Passed Pointer, is set to one if the offset and count for thecommand result in the Write AV Pointer passing the Read AV Pointer. TheStream LBA address of the Read AV Pointer is returned on a PP status.FIG. 27 illustrates the error outputs 2700 for the write DMA AV streamcommand. DFER 2710 is set to one if unsuccessful completion of writeoperation of the cached previous command has occurred.

FIG. 28 illustrates a flow chart 2800 of a method for providing streamlinking in audio/video disk media. In FIG. 28, a determination is madeas to whether additional reading or writing locations in streams areneeded 2810. If not 2812, the stream is handled with normal pointerprocessing 2814. If yes 2820, a linked stream request is sent with anumber of a primary stream 2830, The new stream is initiated as a streamlinked to the primary stream with a beginning and ending addressinherited from the primary stream 2840. As described above, a firststream is initiated, for example, with drive LBA range 2000 to 2999. Asecond stream is initiated as a linked stream, i.e., linked to the firststream. The second stream is initialized with the same LBA range 2000 to2999. Then, a read audio/video pointer is set to the same location asthe read audio/video pointer of the primary stream 2850. Duringoperation, the pointers for both the linked stream and the primarystream are processed 2860. If the second stream read AV pointer passesthe first streams write AV Pointer, then a passed pointer warning isset. A stream may not be linked to a linked stream. Linked streams aredisabled when the primary stream is disabled 2870.

The process illustrated with reference to FIG. 28 may be tangiblyembodied in a computer-readable medium or carrier, e.g. one or more ofthe fixed and/or removable data storage devices 168 illustrated in FIG.1, or other data storage or data communications devices. The computerprogram 190 may be loaded into the memory 192 or into the storage device168 to configure the controller 167 of FIG. 1, for execution. Thecomputer program 190 comprise instructions which, when read and executedby the controller 167 of FIG. 1, causes the storage device 168 toperform the steps necessary to execute the steps or elements of thepresent invention.

The foregoing description of the exemplary embodiment of the inventionhas been presented for the purposes of illustration and description. Itis not intended to be exhaustive or to limit the invention to theprecise form disclosed. Many modifications and variations are possiblein light of the above teaching. It is intended that the scope of theinvention be limited not with this detailed description, but rather bythe claims appended hereto.

1. A remote multimedia server, comprising: a mass storage library forstoring a plurality of multimedia programs each segmented into at leastone audio/video stream; transmission means for transmitting the at leastone audio/video stream to a communication channel; and a local mediacontrol system, comprising: a direct access storage device including atleast one data storage disk; and a controller for processing thecoordinating writing of the at least one audio/video stream receivedfrom the communication channel to the data storage disk, and forcoordinating reading of the at least one audio/video stream from thedata storage disk, the controller providing stream linking inaudio/video disk media by sending a linked stream request with a numberof a primary stream when additional reading or writing locations instreams are desired in which each stream of locations is a range ofaddresses on disk media for storing Audio/Video Data in a contiguousarea, initiating a linked stream that is linked to the primary stream,setting a pointer for the linked stream to the same location as apointer for the primary stream, and, during operation, processing thepointers for both the linked stream and the primary stream.
 2. Theremote multimedia server of claim 1 wherein the setting of a pointer forthe linked stream to the same location as a pointer for the primarystream further comprises setting a read audio/video pointer for thelinked stream to the same location as the read audio/video pointer ofthe primary stream.
 3. The remote multimedia server of claim 1 whereinthe linked stream 2 inherits a beginning and ending address from theprimary stream.
 4. The remote multimedia server of claim 1 wherein thelinked stream and the primary stream each include a read audio/videopointer and a write audio/video pointer.
 5. The remote multimedia serverof claim 4 wherein a passed pointer warning is set when the linkedstream read AV pointer passes the primary stream write AV pointer. 6.The remote multimedia server of claim 1 wherein a stream may not belinked to a linked stream.
 7. The remote multimedia server of claim 1wherein the linked stream is disabled when the primary stream isdisabled.
 8. The remote multimedia server of claim 1 wherein the linkedstream and the primary stream may be read and written to simultaneously.9. The remote multimedia server of claim 8 wherein the linked stream andthe primary stream each include a read audio/video pointer and a writeaudio/video painter.
 10. The remote multimedia server of claim 9 whereinthe read audio/video pointer points to the next sector to read from andthe write audio/video pointer points to the next sector to write to. 11.The remote multimedia server of claim 1 further including moving thepointers with a command.
 12. A direct access storage device, comprising:at least one data storage disk; and a controller for processing thecoordinating writing of the at least one audio/video stream receivedfrom the communication channel to the data storage disk, and forcoordinating reading of the at least one audio/video stream from thedata storage disk, the controller further providing stream linking inaudio/video disk media by sending a linked stream request with a numberof a primary stream when additional reading or writing locations instreams are desired in which each stream of locations is a range ofaddresses on disk media for storing Audio/Video Data in a contiguousarea, initiating a linked stream that is linked to the primary stream,setting a pointer for the linked stream to the same location as apointer for the primary stream, and, during operation, processing thepointers for both the linked stream and the primary stream.
 13. Thedirect access storage device of claim 12 wherein the setting of apointer for the linked stream to the same location as a pointer for theprimary stream further comprises setting a read audio/video pointer forthe linked stream to the same location as the read audio/video pointerof the primary stream.
 14. The direct access storage device of claim 12wherein the linked stream inherits a beginning and ending address fromthe primary stream.
 15. The direct access storage device of claim 12wherein the linked stream and the primary stream each include a readaudio/video pointer and a write audio/video pointer.
 16. The directaccess storage device of claim 15 wherein a passed pointer warning isset when the linked stream read AV pointer passes the primary streamwrite AV pointer.
 17. The direct access storage device of claim 12wherein a stream may not be linked to a linked stream.
 18. The directaccess storage device of claim 12 wherein the linked stream is disabledwhen the primary stream is disabled.
 19. The direct access storagedevice of claim 12 wherein the linked stream and the primary stream maybe read and written to simultaneously.
 20. The direct access storagedevice of claim 19 wherein the linked stream and the primary stream eachinclude a read audio/video pointer and a write audio/video pointer. 21.The direct access storage device of claim 20 wherein the readaudio/video pointer points to the next sector to read from and the writeaudio/video pointer points to the next sector to write to.
 22. Thedirect access storage device of claim 12 further including moving thepointers with a command.